package com.gisuni.sddc.util;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

public class E6CallService {
    
	//获取免登易流云平台的密钥
	public static String GetLoginStr() throws IOException{
		//
		Map<String, String> map = new HashMap<String, String>();

		// 生成签名 先将key进行排序，然后再根据key值在map当中获取相应的值，然后再进行添加
		map.put("timestamp", CommConfig.GetNowTime());
		map.put("format", CommConfig.Format);
		map.put("appkey", CommConfig.AppKey);
		map.put("method", "GetLoginStr");

		// 根据字符串找生成签名
		String sign = CommConfig.GetSign(map);
		map.put("sign", sign);

		try {
			// 开始调用接口
			
			String jsonstr =HttpUtil.post(CommConfig.MotionBaseURL, map);
			
			//{"result":{"message":"","data":[{"LoginKey":"AsRSHGPrrVW2BbyBIy1TvMRrKaaGZ/keP62yiFMVlRijnoruQhE11mY1mv7hs28jBgUdQBh8joo="}],"code":"1"}}
			JSONObject jsonObj = new JSONObject (jsonstr);
			JSONObject resultJsonObj = jsonObj.getJSONObject("result");

			JSONArray jsonArray = resultJsonObj.getJSONArray("data");
			JSONObject dataJsonObject = jsonArray.getJSONObject(0);
			String LoginKey= dataJsonObject.getString("LoginKey");
			
			return LoginKey;
		} catch (JSONException e) {
			//e.printStackTrace();
			return "";
		}
	}

    //获取车辆信息
	//vehicleName 需要查询的车牌号，如鲁BDQ913,支持多车查询，车牌之间用英文逗号分割，-1表示全部车辆
	public static String GetVehcileInfo(String vehicleName) throws IOException {
		//
		Map<String, String> map = new HashMap<String, String>();

		// 生成签名 先将key进行排序，然后再根据key值在map当中获取相应的值，然后再进行添加
		map.put("timestamp", CommConfig.GetNowTime());
		map.put("format", CommConfig.Format);
		map.put("appkey", CommConfig.AppKey);
		map.put("method", "GetVehcileInfo");
		map.put("vehicle", vehicleName);

		// 根据字符串找生成签名
		String sign = CommConfig.GetSign(map);
		map.put("sign", sign);
		
		map.remove("vehicle");
		//然后再进行编码:
		map.put("vehicle",vehicleName);
		

		// 开始调用接口
		String res = HttpUtil.post(CommConfig.MotionBaseURL,map);
		return res;
	}

	public static String GetHistory(String vehicleName,String bTime,String eTime) throws IOException {
		Map<String, String> map = new HashMap<String, String>();
		// 生成签名 先将key进行排序，然后再根据key值在map当中获取相应的值，然后再进行添加
		map.put("timestamp", CommConfig.GetNowTime());
		map.put("format", CommConfig.Format);
		map.put("appkey", CommConfig.AppKey);
		map.put("method", "GetTrackDetail");
		map.put("vehicle", vehicleName);
		map.put("btime",bTime);
		map.put("etime",eTime);

		// 根据字符串找生成签名
		String sign = CommConfig.GetSign(map);
		map.put("sign", sign);
		
		map.remove("vehicle");
		//然后再进行编码:
		map.put("vehicle",vehicleName);
		
		
		// 开始调用接口
	    String res = HttpUtil.post(CommConfig.ReportBaseURL,map);
	    return res;
	}
}
